package com.forenow.demo.demo23;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

import static com.sun.org.apache.xml.internal.security.keys.keyresolver.KeyResolver.iterator;

/**
 * Map接口（接口）
 * 1.Map<k,v>  k表示：键（key）  v表示：值（value）  注意：键是不能重复的，一个k对应一个v
 * 2.如何向Map容器添加元素？  put(K key, V value)    将指定的值与此映射中的指定键关联（可选操作）。
 * 3.如何从Map中获取元素get(Object key)  返回指定键所映射的值
 * 4.实现类  ：HashMap（无序）    TreeMap(具有排序功能 根据key)
 *
 * 泛型的好处：不用强制类型转换
 *
 * 特点：可以根据key快速定位到我们所需要的对象
 */
public class Mapdemo {
    public static void main(String[] args) {
        Map<Integer,String> map=new HashMap();
        map.put(1,"tom");
        map.put(2,"cindy");
        map.put(3,"bob");
        Set<Map.Entry<Integer, String>> set=map.entrySet();
        /*
        Map中没有迭代器，使用Map当中的entrySet方法,返回一个Set接口类型的值，
        再调用set中的interator()迭代器返回一个Iterator类型的值
         */
        Iterator<Map.Entry<Integer, String>> iterator= set.iterator();
        while (iterator.hasNext()){
            Map.Entry<Integer, String> entry=iterator.next();
            Integer k=entry.getKey();
            String v=entry.getValue();
            System.out.println(v);
        }

    }
}
